VIM 大小写匹配

1. 大小写匹配

测试文本:

xnoremap * :<C-u>call <SID>VSetSearch('/')<CR>/<C-R>=@/<CR><CR>                                                                                          
xnoremap # :<C-u>call <SID>VSetSearch('?')<CR>?<C-R>=@/<CR><CR>                                                                                          
                                                                                                                                                         
function! s:VSetSearch(cmdtype)                                                                                                                          
  let temp = @s                                                                                                                                          
  norm! gv"sy                                                                                                                                            
  let @/ = '\V' . substitute(escape(@s, a:cmdtype.'\'), '\n', '\\n', 'g')                                                                                
  let @s = temp                                                                                                                                          
endfunction   
/\cvsetsearch
/vsetsearch\c
/\CVSetSearch
/VSetSearch\C

表12-1 调整查找模式的大小写敏感性

模式 ‘ignorecase’ ‘smartcase’ 匹配
foo off - foo
foo on - foo Foo FOO
foo on on foo Foo FOO
Foo on on Foo
Foo on off foo Foo FOO
\cfoo - - foo Foo FOO
foo\C - - foo